package common

import "time"

// GetRecentThirtyDays - 获取最近30天的开始时间
func GetRecentThirtyDays(now time.Time) time.Time {
	return now.AddDate(0, 0, -30).Truncate(24 * time.Hour) // 截断到当天的 00:00:00
}

// GetStartDayAndEndDayOfMonth - 获取当前月份的第一天和最后一天
func GetStartDayAndEndDayOfMonth(now time.Time) (time.Time, time.Time) {
	// 获取当前时区
	loc := now.Location()
	//获取当前月份的第一天
	startOfMonth := time.Date(now.Year(), now.Month(), 1, 0, 0, 0, 0, loc)
	//获取下个月的第一天，然后减去一秒得到本月最后一天的最后一秒
	nextMonth := startOfMonth.AddDate(0, 1, 0)
	//获取本月的最后一天
	endOfMonth := nextMonth.Add(-time.Second)

	return startOfMonth, endOfMonth
}
